using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using UniversalAdmin.Application.Dto;
using UniversalAdmin.Application.Commands;

namespace UniversalAdmin.Application.Services
{
    public interface IAppFileService
    {
        Task<ApiResult<PagedResult<FileDto>>> GetPagedAsync(PagedQuery query);
        Task<ApiResult<IEnumerable<FileDto>>> GetAllAsync(string? search = null);
        Task<ApiResult<FileDto>> GetByIdAsync(Guid id);
        Task<ApiResult<FileDto>> UploadAsync(IFormFile file);
        Task<ApiResult> DeleteAsync(Guid id);
    }
} 